import { post, get } from '@/utils/request'

export default class Like {
  /**
   * 点赞
   * @param {int} entityType 对象类型（1：帖子，2：评论）
   * @param {int} entityId 对象id
   * @param {int} entityUserId 点赞对象id
   * @param {int} postId 主贴id
   * @returns
   */
  static async like(entityType, entityId, entityUserId, postId) {
    return post('/like', {
      entityType,
      entityId,
      entityUserId
    }, {
      postId
    })
  }

  /**
   * 点赞数量
   * @param {int} entityType 对象类型（1：帖子，2：评论）
   * @param {int} entityId 对象id
   * @returns
   */
  static async getLikeCount(entityType, entityId) {
    return get('/like/count', {
      entityType,
      entityId
    })
  }

  /**
   * 点赞状态
   * @param {int} entityType 对象类型（1：帖子，2：评论）
   * @param {int} entityId 对象id
   * @returns
   */
  static async getLikeStatus(entityType, entityId) {
    return get('/like/status', {
      entityType,
      entityId
    })
  }

  /**
   * 查询某个用户获得的赞数量
   * @param {int} userId 用户id
   * @returns
   */
  static async getUserLikeCount(userId) {
    return get('/user/' + userId + '/like')
  }
}
